// SSH提交测试
// SSH提交测试2
// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 每个页面都会导入该js 统一的设置写这里即可
// tip轻提示抽取代码
function tip(msg) {
  const toastDom = document.querySelector("#myToast");

  const toast = new bootstrap.Toast(toastDom);

  document.querySelector(".toast-body").innerHTML = msg;

  toast.show();
}


// 设置基地址
axios.defaults.baseURL = "http://ajax-api.itheima.net";


// 获取+设置用户名
const username = localStorage.getItem('username');
const nameSpan = document.querySelector('#navbar-main .text-sm');
if (nameSpan) {
  nameSpan.innerHTML = username;
}

// 用户登出
const logout = document.querySelector('#logout');
logout && (logout.onclick = function () {
  localStorage.removeItem('usertoken');
  localStorage.removeItem('username');
});


// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log('config:',config);

  // 请求拦截自定义请求头
  config.headers.Authorization = localStorage.getItem("usertoken");
  console.log('请求拦截-成功');
  return config;
}, function (error) {
  // 对请求错误做些什么
  console.log('请求拦截-失败');
  return Promise.reject(error);
});

// // 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response.data;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  console.log('响应拦截-失败');
  if (error.response.status === 401) {
    localStorage.removeItem('usertoken');
    localStorage.removeItem('username');
    window.location.href = './login.html';
  }
  return Promise.reject(error.response.data);
});